# 公司：安徽银杰
# 作者：李伟
"""
MD5加密的代码语法：使用的内置库：hashlib，直接导入使用。
* 准备好明文
* 第一步：讲明文数据转换为二进制数据 【注意加密和编码都需要是二进制数据】
* 第二步：进行MD5加密数据
* 第三步：密文用于发送接口测试

ERP项目接口信息：
* 请求方式：POST
* 请求地址：http://erp.lemfix.com/user/login
* 请求头："Content-Type","application/x-www-form-urlencoded"
* 请求体参数：loginame=admin&password=e10adc3949ba59abbe56e057f20f883e

设计接口测试的数据是明文，但是接口检查你的数据是密文，所以在发送接口请求之前 要把数据加密；
把密文用于接口发送请求。

抓包看到的密文： 是前端做的加密。

做接口发送请求之前 需要提前沟通一下开发 你用的是是什么加密算法 + 秘钥。

"""
import hashlib
#准备好明文数据
data = "lemonban"
# #第一步：讲明文数据转换为二进制数据 【注意加密和编码都需要是二进制数
data_bytes = data.encode("UTF8")
# # 第二步：进行MD5加密数据
data_md5 = hashlib.md5(data_bytes).hexdigest()
print(data_md5)
# 输出61262ac0d6dcbe6e40c3e1e6eb0bd8af

# erp项目实战
import requests

passwd = "123456"
# # 对密码进MD5加密
# #第一步：讲明文数据转换为二进制数据 【注意加密和编码都需要是二进制数据】
passwd_bytes = passwd.encode("UTF8")
# 第二步：进行MD5加密数据
data1_md5 = hashlib.md5(passwd_bytes).hexdigest()
print(data1_md5) # 结果本身就是一个字符串类型 不需要decode操作

url = "http://erp.lemonban.com/user/login"
meth = "POST"
param = {"loginame":"test123","password":data_md5}

resp = requests.request(method=meth,url=url,data=param)
print(resp.text)



# 优优erp项目 服务端没有进行加密措施，也无法解密导致密码错误。
# passwd = "2090"
# # 对密码进MD5加密
# #第一步：讲明文数据转换为二进制数据 【注意加密和编码都需要是二进制数据】
# passwd_bytes = passwd.encode("UTF8")
# # 第二步：进行MD5加密数据
# data1_md5 = hashlib.md5(passwd_bytes).hexdigest()
# print(data1_md5) # 结果本身就是一个字符串类型 不需要decode操作
#
# url = "http://erp.ghaomc.com/api/v1/users/login"
# meth = "POST"
# param = {"username":"15705692090","password":data1_md5}
#
# resp = requests.request(method=meth,url=url,data=param)
# print(resp.text)
